/**
* 公共配置
*/
import Vue from 'vue'
import axios from 'axios'
import Router from 'vue-router'
import {Loading} from 'element-ui'
// import config from '@/../static/js/config.js'
// import Cookie from 'js-cookie';
let loadingInstance = null;
let config = {
    SERVER_PLANEAPI:"http://43.136.137.111:9898"
}
axios.interceptors.request.use(function (request) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  //加loading
//   loadingInstance = Loading.service({
//     text:'加载中...'
//   })
  return request;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么、
  console.log("请求发生错误了！");
  console.log(error);
  return Promise.reject(error);
});

axios.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
//   setTimeout(() => {
        // loadingInstance.close();
//   }, 1000);
 
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么、
  console.log("响应发生错误了！");
  console.log(error);
  return Promise.reject(error);
});

export const commonplaeapi = {
    baseURL:config.SERVER_PLANEAPI,
    url: '',
    type: 'get',
    params: null
  }
// 令牌认证
export function getToken() {
  const token = Cookie.get('token')
  return token;
}
export function requestPlanapi(param) {
  return new Promise((resolve, reject) => {
    let params = Object.assign({}, commonplaeapi, param)
    param.headers = {
      'content-Type': 'application/json',
      // 'token': getToken(),
    };
    if (params.type === 'post' || params.type === 'POST') {
      params.method = 'POST'
      params = {
        baseURL: param.baseURL,
        method: 'POST',
        url: param.url,
        data: param.params,
        headers: param.headers
      };
    }
    axios.request({
      ...params
    }).then(function (res) {
      let data = res.data
      typeof resolve === "function" && resolve(res);
      if (data.code === 401) {
        // Cookie.remove('token');
        // window.location.href = './login';
        // this.resetSetItem('user',JSON.stringify([]));
      } else {
      }
    }).catch(function (error) {
      typeof reject === 'function' && reject(error.statusText)
    })
  })
}

// 数据流下载
export function requestDownload(param) {
  return new Promise((resolve, reject) => {
    let params = Object.assign({}, commonplaeapi, param)
    param.headers = {
      'Content-Type': 'application/json',
      // 'token': getToken()
    };
    if (params.type === 'post' || params.type === 'POST') {
      params.method = 'POST'
      params = {
        baseURL: param.baseURL || commonplaeapi.baseURL,
        method: 'POST',
        url: param.url,
        data: param.params,
        headers: param.headers,
        responseType: 'blob'
      };
    }
    axios.request({
      ...params
    }).then(function (res) {
      let data = res.data
      typeof resolve === "function" && resolve(res);
      if (data.code === 401) {
        // Cookie.remove('token');
        // window.location.href = './login';
        // // this.$router.push('./login');
        // localStorage.setItem('userName', '');// 删除
        // localStorage.setItem('roleid', '');// 删除
        // localStorage.setItem('rolename', '');// 删除
        // this.resetSetItem('user',JSON.stringify([]));
      } else {
      }
    }).catch(function (error) {
      typeof reject === 'function' && reject(error.statusText)
    })
  })
}